<?php
include_once '../gerenciadores/AutoloadGerenciadores.php';

class RepositorioInstrutor{
	private static $instancia;
	
	private function __construct(){
	}
	

	public static function getInstancia(){
		if(isset(self::$instancia)){
			$inst = __CLASS__;
			self::$instancia = new $inst;
		}
	}
	
	public static function inserirInstrutor(Instrutor $instrutor){
		
		__autoload("Instrutor");
		__autoload("Cadastro");
				
		
		if(isset($instrutor)){
				
			__autoload("RepositorioDePessoas");
			RepositorioDePessoas::adicionaPessoa($instrutor);
				
			$idInstrutor = self::idInstrutor($instrutor->getCpf());
			$instrutor->setIdPessoa($idInstrutor);
	
			$sql = self::inserirMatricula($instrutor);
			$sql .= self::inserirEmail($instrutor);
			$sql .= self::inserirTelefone($instrutor);

			__autoload("Conexao");
			Conexao::executaSql($sql);
		}
	}

	
	public static function lancaInstrutor(Pessoa $instrutor,Disciplina $disciplina,Turma $turma, $tipoIntrutor){
		$curso = $turma->getCurso();
		
		$sql = "UPDATE `tpessoa` SET `confirma`='1' WHERE idpessoa = '".$instrutor->getIdPessoa()."';";
		
		$sql .= "INSERT INTO `tinstrutor`
				(`idpessoa`, `iddisciplina`, `instrutor`, `idturma`, `desistencia`, `datainscricao`) 
				VALUES (";
		$sql .= "'".$instrutor->getIdPessoa()."',";
		$sql .= "'".$disciplina->getIdDisciplina()."',";
		$sql .= "'".$tipoIntrutor."',";
		$sql .= "'".$turma->getIdTurma()."',";
		$sql .= "'0000-00-00',";
		$sql .= "'".date('Y-m-d')."');";
		
		if($tipoIntrutor == "Conteudista"){
			$idTipoInstrutor = "6";
		}else{
			$idTipoInstrutor = "1";
		}
		
		$sql .= "INSERT INTO `tcadastro`
				(`idpessoa`, `idturma`, `idcurso`, `tipo_vinculo`) VALUES (";
		$sql .= "'".$instrutor->getIdPessoa()."',";
		$sql .= "'".$turma->getIdTurma()."',";
		$sql .= "'".$curso->getIdCurso()."',";
		$sql .= "'".$idTipoInstrutor."');";
		
		__autoload("Conexao");
		Conexao::executaSql($sql);
		
	}
	
	public static function alteraInstrutor(InscricaoInstrutores $inscricao){
		__autoload("Instrutor");
		__autoload("Turma");
		__autoload("Disciplina");
		__autoload("InscricaoInstrutores");
		
		$instrutor = $inscricao->getInstrutor();
		$turma = $inscricao->getTurma();
		$disciplina = $inscricao->getDisciplina();
		
	
		__autoload("RepositorioDePessoas");
		RepositorioDePessoas::atualizaPessoa($instrutor);
		
		$sql = self::atualizaEmail($instrutor);
		$sql .= self::atualizaMatricula($instrutor);
		$sql .= self::atualizaTelefone($instrutor);
		
		__autoload("Conexao");
		Conexao::executaSql($sql);
		
		
	}
	
	public static function atualizaInscricao(InscricaoInstrutores $inscricao){
		$instrutor = $inscricao->getInstrutor();
		$tipoInstrutor = $inscricao->getTipoInstrutor();
		$disciplina = $inscricao->getDisciplina();
		$turma = $inscricao->getCadastro()->getTurma();
		$curso = $inscricao->getCadastro()->getCurso();
		
		
		$sql = "UPDATE `tinstrutor` SET  ";
		$sql .= "`idturma` = '". $turma->getIdTurma()."'";
		$sql .= " WHERE `idpessoa` = '".$instrutor->getIdPessoa()."'";
		$sql .= " AND `iddisciplina` = '".$disciplina->getIdDisciplina()."'";
		$sql .= " AND `instrutor` = '".$inscricao->getTipoInstrutor()."'";
		$sql .= " AND `desistencia` IS NULL LIMIT 1";
		$sql .= ";";
		
		$sql .= "UPDATE `tcadastro` SET ";
		$sql .= "`idturma`='".$turma->getIdTurma()."'";
		$sql .= " WHERE `idpessoa`='".$instrutor->getIdPessoa()."'";
		$sql .= " AND `idcurso`='".$curso->getIdCurso()."'";
		$sql .= " AND `tipo_vinculo`= '1' LIMIT 1;";
		
		__autoload("Conexao");
		Conexao::executaSql($sql);
	}
	
	
	public static function excluiInscricao(InscricaoInstrutores $inscricao){
		$disciplina = $inscricao->getDisciplina();
		$tipoInstrutor = $inscricao->getTipoInstrutor();
		$cadastro = $inscricao->getCadastro();
		$pessoa = $cadastro->getPessoa();
		$turma = $cadastro->getTurma();
		
		$sql = "DELETE FROM tcadastro WHERE 
				idpessoa LIKE ".$pessoa->getIdPessoa()." 
						AND idturma LIKE ".$turma->getIdTurma()." 
								AND tipo_vinculo LIKE 1; ";
		
		$sql .= "DELETE FROM tinstrutor WHERE
				idpessoa LIKE ".$pessoa->getIdPessoa()."
						 AND idturma LIKE ".$turma->getIdTurma()." 
						 		AND iddisciplina LIKE ".$disciplina->getIdDisciplina()." 
						 				AND instrutor LIKE ".$tipoInstrutor.";";
		__autoload("Conexao");
		Conexao::executaSql($sql);
	}
		
	
	public static function deletaInstrutor($idInstrutor){
		__autoload("InstrutorDeletaException");
		try{
			if(!is_null($idInstrutor)){
				$sql .= "DELETE FROM tinstrutor WHERE idpessoa = '".$idInstrutor."' WHERE `idturma` IS NULL;";
				$sql .= "DELETE FROM t_matricula WHERE idpessoa = '".$idInstrutor."';";
				$sql .= "DELETE FROM ttelefone WHERE idpessoa = '".$idInstrutor."';";
				$sql .= "DELETE FROM temail WHERE idpessoa = '".$idInstrutor."';";
				
				__autoload("Conexao");
				Conexao::executaSql($sql);
			}
		
		}catch (InstrutorDeletaException $e){
			echo $e->getMessage();
		}
		
	}
	
	
	public static function getInstrutor($idInstrutor){
		
		$sql = "SELECT pes.idpessoa, pes.cargo, pes.instituicao, pes.cpf, pes.nome, inst.instrutor,
				inst.iddisciplina, inst.desistencia, cad.idturma, cad.tipo_vinculo, inst.datainscricao,
				email.email, mat.matricula, inst.datainscricao, inst.desistencia, inst.iddisciplina
				FROM `tpessoa` pes
				INNER JOIN `tinstrutor` inst ON (pes.idpessoa = inst.idpessoa)
				INNER JOIN `tcadastro` cad ON (cad.idpessoa = inst.idpessoa AND cad.idturma= inst.idturma)
				INNER JOIN `temail` email ON (email.idpessoa = pes.idpessoa)
				INNER JOIN `t_matricula` mat ON (mat.idpessoa = pes.idpessoa)
				LEFT JOIN tturma turma ON (turma.idturma = inst.idturma)
				WHERE pes.idpessoa LIKE '".$idInstrutor."' AND inst.desistencia = 0 AND cad.tipo_vinculo = 1 ;";
		
		__autoload("Conexao");
		$tabela = Conexao::tabelaSql($sql);

		foreach ($tabela as $linha){
			$instrutor = new Instrutor($linha['cpf'], $linha['nome'], $linha['cargo'], $linha['instituicao']);
			$instrutor->setEmail($linha['email']);
			$instrutor->setIdPessoa($linha['idpessoa']);
			$instrutor->setMat($linha['matricula']);
		}
		
		return $instrutor;
		
	}
	
	
	public static function getInscricao(Cadastro $cadastro){
		$pessoa = $cadastro->getPessoa();
		$turma = $cadastro->getTurma();
		
		$sql = "SELECT pes.idpessoa, pes.cargo, pes.instituicao, pes.cpf, pes.nome, inst.instrutor, 
				inst.iddisciplina, dis.disciplina, dis.sigla, dis.cargahoraria, inst.desistencia, cad.idturma, cad.tipo_vinculo, inst.datainscricao,
				email.email, mat.matricula, inst.datainscricao, inst.instrutor, inst.desistencia, inst.iddisciplina
				FROM `tpessoa` pes 
				INNER JOIN `tinstrutor` inst ON (pes.idpessoa = inst.idpessoa)
				INNER JOIN `tdisciplina` dis ON (inst.iddisciplina = dis.iddisciplina)  
				INNER JOIN `tcadastro` cad ON (cad.idpessoa = inst.idpessoa AND cad.idturma= inst.idturma) 
				LEFT JOIN `temail` email ON (email.idpessoa = pes.idpessoa) 
				LEFT JOIN `t_matricula` mat ON (mat.idpessoa = pes.idpessoa) 
				LEFT JOIN tturma turma ON (turma.idturma = inst.idturma) 
				WHERE pes.idpessoa LIKE '".$pessoa->getIdPessoa()."' AND inst.desistencia = 0000-00-00 AND cad.tipo_vinculo = 1
				AND inst.idturma = '".$turma->getIdTurma()."';";
		
		__autoload("Conexao");
		$tabela = Conexao::tabelaSql($sql);
		
		__autoload("Instrutor");
		$instrutor = new Instrutor($pessoa->getCpf(), $pessoa->getNome(), $pessoa->getCargo(), $pessoa->getInstituicao());
		
		
		$instrutor->setConfirma($pessoa->getConfirma());
		$instrutor->setIdPessoa($pessoa->getIdPessoa());
		$instrutor->setSenha($pessoa->getSenha());
		
		
	
		$telefones = array();
		$tipoTelefones = array();
		$tabelaTelefones = self::getTelefones($instrutor->getIdPessoa());
		
				
		$instrutor->setTelefone($tabelaTelefones);
		
		$cadastro->setPessoa($instrutor);
		
		
		__autoload("InscricaoInstrutores");
			
		$i=0;
		foreach ($tabela as $linhaInstrutor){
			$instrutor->setEmail($linhaInstrutor['email']);
			$instrutor->setMat($linhaInstrutor['matricula']);
			
			
			$inscricao[$i] = new InscricaoInstrutores();
			$inscricao[$i]->setCadastro($cadastro);
			
			$inscricao[$i]->setDataInscricao($linhaInstrutor['datainscricao']);
			$inscricao[$i]->setDesistencia($linhaInstrutor['desistencia']);
			$inscricao[$i]->setTipoInstrutor($linhaInstrutor['instrutor']);
			
			__autoload("Disciplina");	
			$disciplina = new Disciplina();
			$disciplina->setNomeDisciplina($linhaInstrutor['disciplina']);
			$disciplina->setSiglaDisciplina($linhaInstrutor['sigla']);
			$disciplina->setCargaHoraria($linhaInstrutor['cargahoraria']);
			$disciplina->setIdDisciplina($linhaInstrutor['iddisciplina']);
			
			$inscricao[$i]->setDisciplina($disciplina);
			$inscricao[$i]->setCadastro($cadastro);
			
			$i++;
		}
						
		return $inscricao;
		

	}

	
	private static function inserirMatricula(Instrutor $instrutor){
		$sql = "DELETE FROM t_matricula WHERE idpessoa = '".$instrutor->getIdPessoa()."';";
		$sql .= "INSERT INTO `t_matricula`(`idpessoa`, `matricula`) VALUES ('";
		$sql .= $instrutor->getIdPessoa()."','";
		$sql .= $instrutor->getMat();
		$sql .= "');";
	
		return $sql;
	}
	
	private static function inserirEmail(Instrutor $instrutor){
		$sql = "DELETE FROM temail WHERE idpessoa = '".$instrutor->getIdPessoa()."';";
		$sql .= "INSERT INTO `temail`(`idpessoa`, `email`) VALUES ('";
		$sql .= $instrutor->getIdPessoa()."','";
		$sql .= $instrutor->getEmail();
		$sql .= "');";
	
		return $sql;
	}
	
	private static function inserirTelefone(Instrutor $instrutor){
	$sql = "";
		$telefones = $instrutor->getTelefone();
		if(isset($telefones)){
			
		
		$sql = "DELETE FROM `ttelefone` WHERE idpessoa LIKE '".$instrutor->getIdPessoa()."';";
		$sql .= "INSERT INTO `ttelefone`(`idpessoa`, `telefone`, `tipo`) VALUES ";
		$tabelaNumeros = $telefones->getNumeroTelefone();
		$tabelaTipoTelefones = $telefones->getTipoTelefone();
		
		for($i=0; $i<count($tabelaNumeros); $i++){
			
			$sql .= "('".$instrutor->getIdPessoa()."', '".$tabelaNumeros[$i]."','".$tabelaTipoTelefones[$i]."'),";
		}
		
		$sql = substr($sql, 0, -1);
		$sql = $sql.";";
		}
		return $sql;
	}
	
	private static function inserirInscricao(InscricaoInstrutores $inscricao){
		$instrutor = $inscricao->getCadastro()->getPessoa();
		$tipoInstrutor = $inscricao->getTipoInstrutor();
		$disciplina = $inscricao->getDisciplina();
		$curso = $inscricao->getCadastro()->getCurso();
		
		$dataInscricao = self::converteData($inscricao->getDataInscricao());
		$desistencia = self::converteData($inscricao->getDesistencia());
		
		$sql = "INSERT INTO `tinstrutor`(`idpessoa`, `iddisciplina`, `instrutor`, `desistencia`, `datainscricao`) VALUES ";
		$sql .= "('".$instrutor->getIdPessoa()."', '".$disciplina->getIdDisciplina()."','".$tipoInstrutor."', '".$desistencia."','".$dataInscricao."');";
		
		return $sql;
	}
	
	private static function atualizaMatricula(Instrutor $instrutor){
		$sql = "UPDATE `t_matricula` SET ";
		$sql .= "`matricula` = '".$instrutor->getMat()."'";
		$sql .= " WHERE `idpessoa` = '".$instrutor->getIdPessoa()."';";
	
		return $sql; 
	}
	
	private static function atualizaEmail(Instrutor $instrutor){
		$sql = "UPDATE `temail` SET";
		$sql .= "`email` ='".$instrutor->getEmail()."' ";
		$sql .= " WHERE `idpessoa` = '".$instrutor->getIdPessoa()."';";
		
		return $sql;
	}
	
	public static function lancaDesistenciaInstrutor(InscricaoInstrutores $inscricao){
		$instrutor = $inscricao->getCadastro()->getPessoa();
		$tipoInstrutor = $inscricao->getTipoInstrutor();
		$disciplina = $inscricao->getDisciplina();
		$turma = $inscricao->getCadastro()->getTurma();
		$curso = $inscricao->getCadastro()->getCurso();
		
		$desistencia = date("Y-m-d");
		
		$sql = "UPDATE `tinstrutor` SET ";
		$sql .= "`desistencia` = '".$desistencia."' ";
		$sql .= " WHERE `idpessoa` = '".$instrutor->getIdPessoa()."'";
		$sql .= " AND `iddisciplina` = '".$disciplina->getIdDisciplina()."'";
		$sql .= " AND `instrutor` = '".$inscricao->getTipoInstrutor()."'";
		$sql .= " AND `idturma` = '". $turma->getIdTurma()."'";
		$sql .= ";";
		
		__autoload("Conexao");
		Conexao::executaSql($sql);
	}
	
	
	public static function listaInstrutorParaAvaliacao(Turma $turma, Pessoa $pessoa){
		
		$sql = "SELECT pes.cpf, pes.nome, pes.cargo, pes.instituicao, pes.idpessoa,  inst.datainscricao, inst.desistencia, inst.instrutor, inst.iddisciplina, dis.iddisciplina,
				dis.cargahoraria, dis.sigla, dis.disciplina
				FROM `tpessoa` pes
				INNER JOIN `tcadastro` cad ON (cad.idpessoa = pes.idpessoa)
				INNER JOIN `tinstrutor` inst ON (inst.idpessoa = cad.idpessoa AND inst.idturma=cad.idturma)
				INNER JOIN `tdisciplina` dis ON (dis.iddisciplina = inst.iddisciplina)
				WHERE cad.idturma = '".$turma->getIdTurma()."' AND cad.tipo_vinculo = 1 AND desistencia=0000-00-00
				AND pes.idpessoa NOT IN (SELECT idpessoa FROM tavaliacao aval WHERE aval.idturma=cad.idturma AND inst.iddisciplina=aval.iddisciplina AND idaluno = '".$pessoa->getIdPessoa()."');";
	
		__autoload("Conexao");
		$tabInstrutores = Conexao::tabelaSql($sql);
		$i=0;
		foreach ($tabInstrutores as $tabela){
			__autoload("Instrutor");
			$instrutor = new Instrutor($tabela['cpf'], $tabela['nome'], $tabela['cargo'], $tabela['instituicao']);
			$instrutor->setIdPessoa($tabela['idpessoa']);
				
			__autoload("InscricaoInstrutores");
			$inscricao[$i] = new InscricaoInstrutores();
				
			__autoload("Cadastro");
			$cadastro = new Cadastro();
			$cadastro->setPessoa($instrutor);
				
			__autoload("RepositorioDisciplina");
				
			$inscricao[$i]->setDataInscricao($tabela['datainscricao']);
			$inscricao[$i]->setDesistencia($tabela['desistencia']);
			$inscricao[$i]->setTipoInstrutor($tabela['instrutor']);
			
			$disciplina = new Disciplina();
			$disciplina->setNomeDisciplina($tabela['disciplina']);
			$disciplina->setSiglaDisciplina($tabela['sigla']);
			$disciplina->setIdDisciplina($tabela['iddisciplina']);
			$disciplina->setCargaHoraria($tabela['cargahoraria']);
			
			$inscricao[$i]->setDisciplina($disciplina);
				
			$cadastro->setPessoa($instrutor);
			$cadastro->setTurma($turma);
			$cadastro->setCurso($turma->getCurso());
				
			$inscricao[$i]->setCadastro($cadastro);
			$i++;
		}
		
		return $inscricao;
		
	}
	
	
	public static function listaInstrutorPlanoDeAula(Turma $turma, Disciplina $disciplina){
	
		$sql = "SELECT * 
FROM `tcadastro` cad 
INNER JOIN `tinstrutor` inst ON (cad.idturma=inst.idturma AND cad.idpessoa = inst.idpessoa)
INNER JOIN `tdisciplina` disc ON (inst.iddisciplina = disc.iddisciplina AND cad.idcurso = disc.idcurso)
INNER JOIN `tpessoa` pes ON (cad.idpessoa = pes.idpessoa)
WHERE cad.idturma = '".$turma->getIdTurma()."' AND inst.iddisciplina='".$disciplina->getIdDisciplina()."' AND cad.tipo_vinculo = 1 AND desistencia=0000-00-00;";
		
			
	
		__autoload("Conexao");
		$tabInstrutores = Conexao::tabelaSql($sql);
		$i=0;
		foreach ($tabInstrutores as $tabela){
			__autoload("Instrutor");
			$instrutor = new Instrutor($tabela['cpf'], $tabela['nome'], $tabela['cargo'], $tabela['instituicao']);
			$instrutor->setIdPessoa($tabela['idpessoa']);
	
			__autoload("InscricaoInstrutores");
			$inscricao[$i] = new InscricaoInstrutores();
				
			__autoload("Cadastro");
			$cadastro = new Cadastro();
			$cadastro->SetPessoa($instrutor);
			$cadastro->SetCurso($disciplina->getCurso());
	
			$inscricao[$i]->setDataInscricao($tabela['datainscricao']);
			$inscricao[$i]->setDesistencia($tabela['desistencia']);
			$inscricao[$i]->setTipoInstrutor($tabela['instrutor']);
			$inscricao[$i]->setDisciplina($disciplina);
	
			$cadastro->setPessoa($instrutor);
				
			$inscricao[$i]->setCadastro($cadastro);
			$i++;
		}
	
		return $inscricao;
	}
	
	
	public static function listaInstrutorTurma(Turma $turma){
	
		$sql = "SELECT pes.idpessoa, pes.cpf, pes.nome, pes.cargo, pes.instituicao,
				inst.datainscricao, inst.datainscricao, inst.desistencia, inst.instrutor,
				curso.idcurso, curso.siglacurso, curso.nomecurso, disc.sigla, disc.iddisciplina, disc.cargahoraria,
				disc.disciplina, email.email
FROM `tcadastro` cad
INNER JOIN `tinstrutor` inst ON (cad.idturma=inst.idturma AND cad.idpessoa = inst.idpessoa)
INNER JOIN `tdisciplina` disc ON (inst.iddisciplina = disc.iddisciplina AND cad.idcurso = disc.idcurso)
INNER JOIN `tcursos` curso ON (curso.idcurso = disc.idcurso)
INNER JOIN `tpessoa` pes ON (cad.idpessoa = pes.idpessoa)
LEFT JOIN `temail` email ON (email.idpessoa = pes.idpessoa) 
WHERE cad.idturma = '".$turma->getIdTurma()."' AND cad.tipo_vinculo = 1 AND desistencia=0000-00-00
ORDER BY disc.disciplina;";
			

		__autoload("Conexao");
		$tabInstrutores = Conexao::tabelaSql($sql);
		$i=0;
		foreach ($tabInstrutores as $tabela){
			$idPessoa = $tabela['idpessoa'];
			
			__autoload("Instrutor");
			$instrutor = new Instrutor($tabela['cpf'], $tabela['nome'], $tabela['cargo'], $tabela['instituicao']);
			$instrutor->setIdPessoa($idPessoa);
			$instrutor->setEmail($tabela['email']);
			$instrutor->setTelefone(self::getTelefones($idPessoa));
	
			__autoload("InscricaoInstrutores");
			$inscricao[$i] = new InscricaoInstrutores();
	
			__autoload("Cadastro");
			$cadastro = new Cadastro();
			$cadastro->SetPessoa($instrutor);
			
			$curso = new Curso();
			$curso->setSiglaCurso($tabela['siglacurso']);
			$curso->setNomeCurso($tabela['nomecurso']);
			$curso->setIdCurso($tabela['idcurso']);
			$cadastro->SetCurso($curso);
			
	
			$inscricao[$i]->setDataInscricao($tabela['datainscricao']);
			$inscricao[$i]->setDesistencia($tabela['desistencia']);
			$inscricao[$i]->setTipoInstrutor($tabela['instrutor']);
			
			$disciplina = new Disciplina();
			$disciplina->setIdDisciplina($tabela['iddisciplina']);
			$disciplina->setNomeDisciplina($tabela['disciplina']);
			$disciplina->setSiglaDisciplina($tabela['sigla']);
			$disciplina->setCargaHoraria($tabela['cargahoraria']);
			$disciplina->setCurso($curso);
			$inscricao[$i]->setDisciplina($disciplina);
	
			$cadastro->setPessoa($instrutor);
			$cadastro->setTurma($turma);
	
			$inscricao[$i]->setCadastro($cadastro);
			$i++;
		}
	
		return $inscricao;
	}
	
	
	
	public static function listaInstrutorConteudista(Disciplina $disciplina){
	
		$sql = "SELECT *
FROM `tcadastro` cad
INNER JOIN `tinstrutor` inst ON (cad.idturma=inst.idturma AND cad.idpessoa = inst.idpessoa)
INNER JOIN `tdisciplina` disc ON (inst.iddisciplina = disc.iddisciplina AND cad.idcurso = disc.idcurso)
INNER JOIN `tpessoa` pes ON (cad.idpessoa = pes.idpessoa)
WHERE inst.iddisciplina='".$disciplina->getIdDisciplina()."' AND cad.tipo_vinculo = 6 AND inst.instrutor='Conteudista' AND desistencia=0000-00-00;";	
			
	
		__autoload("Conexao");
		$tabInstrutores = Conexao::tabelaSql($sql);
		$i=0;
		foreach ($tabInstrutores as $tabela){
			__autoload("Instrutor");
			$instrutor = new Instrutor($tabela['cpf'], $tabela['nome'], $tabela['cargo'], $tabela['instituicao']);
			$instrutor->setIdPessoa($tabela['idpessoa']);
	
			__autoload("InscricaoInstrutores");
			$inscricao[$i] = new InscricaoInstrutores();
	
			__autoload("Cadastro");
			$cadastro = new Cadastro();
			$cadastro->SetPessoa($instrutor);
			$cadastro->SetCurso($disciplina->getCurso());
	
			$inscricao[$i]->setDataInscricao($tabela['datainscricao']);
			$inscricao[$i]->setDesistencia($tabela['desistencia']);
			$inscricao[$i]->setTipoInstrutor($tabela['instrutor']);
			$inscricao[$i]->setDisciplina($disciplina);
	
			$cadastro->setPessoa($instrutor);
	
			$inscricao[$i]->setCadastro($cadastro);
			$i++;
		}
	
		return $inscricao;
	}
	
		
	
	private static function atualizaTelefone(Instrutor $instrutor){
		$telefone = $instrutor->getTelefone();
		
		$tipoTelefone = $instrutor->getTipoTelefone();
		
		$sql = "DELETE FROM `ttelefone` WHERE `idpessoa` = '".$instrutor->getIdPessoa()."';";
		
		$sql .= "INSERT INTO `ttelefone`(`idpessoa`, `telefone`, `tipo`) VALUES ";
		
		for($i=0; $i<count($telefone);$i++){
			$sql .= "('".$instrutor->getIdPessoa()."', '".$telefone[$i]."','".$tipoTelefone[$i]."'),";
		}
		
		$sql = substr($sql, 0, -1);
		$sql = $sql.";";
		
		return $sql;
	}
	
	
	private static function idInstrutor($cpf){
		$sql = "SELECT * FROM tpessoa WHERE cpf LIKE '".$cpf."';";
	
		__autoload("Conexao");
		$tabInstrutor = Conexao::tabelaSql($sql);
	
	
		foreach ($tabInstrutor as $instrutor){
			$idInstrutor = $instrutor['idpessoa'];
		}
		return $idInstrutor;
	}
	
	private static function converteData($data){
		if(!is_null($data)){
			
			$dataTab = array();
			$dataTab = split("/", $data);
			
			$data = "";
			for($i=count($dataTab)-1; $i>=0; $i--){
				$data .= $dataTab[$i];
				$data .="-";
			}
			$data =substr($data, 0, -1);
			
			return $data;
		}
		else{
			__autoload("DataException");
			$e = new DataException();
			echo $e->getMessage();
		}
	}
	
	private static function getTelefones($idPessoa){
		$sql = "SELECT * FROM ttelefone WHERE idpessoa = '".$idPessoa."';";
		__autoload("Conexao");
		$tabela = Conexao::tabelaSql($sql);
		
		__autoload("Telefone");
		$telefone = new Telefone();
		foreach ($tabela as $linha){
			$telefone->adicionaTelefone($linha['telefone'], $linha['tipo']);
		}
		if(isset($telefone)){
			return $telefone;
		}else{
			return null;
		}
		
	}
	
	
	public static function getCertidaoDeDocencia(Pessoa $pessoa){
		$sql = "SELECT MIN(p.`data`) as datainicio, MAX(p.`data`) as datafinal, ps.cargo, ps.nome, ps.instituicao, m.matricula,
				t.idturma, t.turma, t.ano, cs.siglacurso, cs.nomecurso, cs.idcurso, d.iddisciplina, d.disciplina, d.sigla, d.cargahoraria, i.instrutor
				FROM planoaula p
				LEFT JOIN tinstrutor i ON(i.iddisciplina=p.iddisciplina AND i.idturma=p.idturma)
				INNER JOIN tdisciplina d ON(d.iddisciplina = i.iddisciplina)
				LEFT JOIN t_matricula m ON (m.idpessoa = i.idpessoa)
				INNER JOIN tpessoa ps ON (ps.idpessoa=i.idpessoa)
				INNER JOIN tturma t ON (t.idturma = p.idturma)
				INNER JOIN tcursos cs ON (cs.idcurso=t.idcurso)
				WHERE i.idpessoa LIKE '".$pessoa->getIdPessoa()."' AND i.desistencia LIKE '0000-00-00'
				GROUP BY i.iddisciplina, i.idturma;";
		
		__autoload("Conexao");
		$tabela = Conexao::tabelaSql($sql);
		$i=0;
		foreach ($tabela as $linha){
			__autoload("CertidaoDeDocencia");
			$certidao[$i] = new CertidaoDeDocencia();
			$certidao[$i]->setPessoa($pessoa);
			
			__autoload("Turma");
			$turma = new Turma();
			$turma->setTurma($linha['turma']);
			
			__autoload("Curso");
			$curso = new Curso();
			$curso->setSiglaCurso($linha['siglacurso']);
			$curso->setNomeCurso($linha['nomecurso']);
			$curso->setIdCurso($linha['idcurso']);
			
			$turma->setCurso($curso);
			$turma->setIdTurma($linha['idturma']);
			
			$certidao[$i]->setTurma($turma);
			$certidao[$i]->setDataInicio($linha['datainicio']);
			$certidao[$i]->setDataFim($linha['datafinal']);
			
			__autoload("Disciplina");
			$disciplina = new Disciplina();
			$disciplina->setNomeDisciplina($linha['disciplina']);
			$disciplina->setSiglaDisciplina($linha['sigla']);
			$disciplina->setCargaHoraria($linha['cargahoraria']);
			$disciplina->setIdDisciplina($linha['iddisciplina']);
			$disciplina->setCurso($curso);
			
			$certidao[$i]->setDisciplina($disciplina);
			$certidao[$i]->setTipoInstrutor($linha['instrutor']);
			
			$i++;
		}
		return $certidao;
	}
	
	
}

?>